package com.zhisuo.apicenter.service.imp;


import com.zhisuo.apicenter.model.ZhiSuoCarStatus;
import com.zhisuo.apicenter.service.CarApiService;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
public class CarApiServiceImp extends BaseServiceImp implements CarApiService {


    @Override
    public void insertNewCarStatus(ZhiSuoCarStatus carstatus) {
        String sql="insert into zhisuo_car_status(name,vin,vehicleinfostatus,vehicleinfoerrorcode,positionstop,positionlon,positionlat,positionheading,speedvalue,speedunit,batterysoc,batteryrangevalue,batteryrangeunit,batterypowervalue,batterypowerunit,status,update_time,create_time,distancetotal,remaintotal) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        update(sql,new Object[]{carstatus.getName(),carstatus.getVin(),carstatus.getVehicleinfostatus(),carstatus.getVehicleinfoerrorcode(),carstatus.getPositionstop(),carstatus.getPositionlon(),carstatus.getPositionlat(),carstatus.getPositionheading(),carstatus.getSpeedvalue(),carstatus.getSpeedunit(),carstatus.getBatterysoc(),carstatus.getBatteryrangevalue(),carstatus.getBatteryrangeunit(),carstatus.getBatterypowervalue(),carstatus.getBatterypowerunit(),1,carstatus.getUpdate_time(),new Date(),carstatus.getDistancetotal(),carstatus.getRemaintotal()});
    }

    @Override
    public String getBoxIdByNameAndVin(String boxname, String carid) {
        String sql="select id from zhisuo_car_box where name=? and carid=?";
        return queryString(sql,new Object[]{boxname,carid});
    }

    @Override
    public void insertNewCarBox(String boxname, String boxvalue, String vin,String carid) {
        String sql="insert into zhisuo_car_box(name,vin,isempty,create_time,status,code,carid) values(?,?,?,?,?,?,?)";
        update(sql,new Object[]{boxname,vin,boxvalue,new Date(),1,boxname,carid});
    }

    @Override
    public void updateCarBoxStatus(String boxid, String boxvalue) {
        String sql="update zhisuo_car_box set isempty=? where id=?";
        update(sql,new Object[]{boxvalue,boxid});
    }

    @Override
    public void insertNewCarBoxDoor(String boxname, String boxvalue, String vin,String carid) {
        String sql="insert into zhisuo_car_box(name,vin,doorstatus,create_time,status,code,carid) values(?,?,?,?,?,?,?)";
        update(sql,new Object[]{boxname,vin,boxvalue,new Date(),1,boxname,carid});
    }

    @Override
    public void updateCarBoxDoorStatus(String boxid, String boxvalue) {
        String sql="update zhisuo_car_box set doorstatus=? where id=?";
        update(sql,new Object[]{boxvalue,boxid});
    }

    @Override
    public void insertNewCarBoxInfo(String boxname, String pos, String size, String vin, String carid) {
        String sql="insert into zhisuo_car_box(name,vin,pos,boxcontent,create_time,status,code,carid) values(?,?,?,?,?,?,?,?)";
        update(sql,new Object[]{boxname,vin,pos,size,new Date(),1,boxname,carid});
    }

    @Override
    public void updateCarBoxInfo(String boxid, String pos, String size) {
        String sql="update zhisuo_car_box set pos=?,boxcontent=? where id=?";
        update(sql,new Object[]{pos,size,boxid});
    }

    @Override
    public void updateCarInfoByVin(String vin, String boxnum, String leftbox, String rightbox,String openattr) {
        String sql="update zhisuo_car set boxnum=?,leftbox=?,rightbox=?,openattr=? where sn=?";
        update(sql,new Object[]{boxnum,leftbox,rightbox,openattr,vin});
    }

    @Override
    public void updateVpnInfoByCarID(int id, String vpnip, String frontport, String backport, String leftport, String rightport) {
        String sql="update zhisuo_car set vpnip=?,frontport=?,backport=?,leftport=?,rightport=? where id=?";
        update(sql,new Object[]{vpnip,frontport,backport,leftport,rightport,id});
    }
}
